從今天開始,程式碼和實作練習的部份會佔比較多的部份,終於要進入實用的NodeJS網頁框架-Express了。
Express是NodeJS後端開發中最受歡迎、快速且輕量的網頁框架,提供許多開發網頁應用程式的資源與功能。
安裝Express
由於Express是一個NPM套件,透過終端機就可以輕鬆安裝,而Express是需要在程式執行時使用的套件,因此要以--save
選項將套件加入Dependencies
。
使用Express建立Web Server
express
模組。let express = require("express");
let app = express();
listen(<port>)
方法可以建立監聽指定port(埠)的server(伺服器)。app.listen(2000);
let port = process.env.PORT || 2000; // 如果環境變數不存在,使用2000
app.listen(port);
express
提供不同的HTTP方法,包含get
、post
、delete
等,可以透過url觸發回呼函式,並處理請求與回應,例如:在請求初始頁面時回傳一個HTML頁面,值得注意的是使用express
中的res.send()
方法回傳回應時,會自動確認回應串流的資料類型,因此不需要另外設定ContentType。app.get('/', function(req, res){
res.send("<html><head></head><body><h1>Hello</h1></body></html>");
});
res.json()
方法,將JavaScript的物件轉換成JSON格式字串並傳送。app.get('/api', function(req, res){
res.json({ firstName: "chw", lastName: "k" });
});
雖然不使用任何套件也可以在NodeJS上建立Web Server,但藉由express的功能,可以更輕鬆的進行開發唷~
https://leanylabs.com/blog/npm-packages-for-nodejs/
Learn and Understand NodeJS [課程]